package com.gxan.service;

import com.gxan.common.JsonResult;
import com.gxan.common.R;
import com.gxan.pojo.Human;

import java.sql.SQLException;

public interface HumanService {
    /**
     * @param human 前端传递来，AddHumanServlet处理过的
     * @return int
     * @throws SQLException
     */
    R addHuman(Human human);

    /**
     * @param currentPage 当前页面
     * @param pageSize    每页显示条数
     * @return JsonResult实体
     */
    JsonResult queryHumanList(Integer currentPage, Integer pageSize);

    /**
     * 查询所有审核中的档案
     *
     * @param currentPage 当前页面
     * @param pageSize    每页显示条数
     * @return JsonResult实体
     */
    JsonResult reviewQueryHumanList(Integer currentPage, Integer pageSize);

    /**
     * 根据姓名查找审核中状态的档案
     *
     * @param currentPage 当前页面
     * @param pageSize    每页显示条数
     * @return JsonResult实体
     */
    JsonResult reviewQueryHumanList(Integer currentPage, Integer pageSize, String human_name);

    /**
     * 修改档案信息
     *
     * @param human
     * @return R
     */
    R updateHuman(Human human);

    /**
     * 根据员工id删除员工信息
     *
     * @param human_id
     * @return R
     */
    R delHumanById(String human_id);

    /**
     * 批量删除员工信息
     *
     * @param ids
     * @return R
     */
    R delHumanById(String[] ids);

    /**
     * 按照姓名搜索
     *
     * @param currentPage
     * @param pageSize
     * @param human_name
     * @return
     */
    JsonResult queryHumanList(Integer currentPage, Integer pageSize, String human_name);

    /**
     * 根据id修改档案状态
     *
     * @param human_id
     * @return R
     */
    R toCheck(String human_id);

    /**
     * 根据id修改档案状态为审核通过
     *
     * @param human_id
     * @return R
     */
    R passCheck(String human_id);

    /**
     * 批量通过审核
     *
     * @param ids
     * @return R
     */
    R batchPass(String[] ids);

    /**
     * 驳回档案审核
     * 根据id修改档案状态为审核通过
     *
     * @param human_id
     * @return R
     */
    R backCheck(String human_id);

}
